/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package myutil;

import java.io.File;
import javax.swing.Icon;
import javax.swing.filechooser.FileSystemView;

/**
 *
 * @author Tidus Le
 */
public class Utility
{
    /**
     * Tính toán và trả về dung lượng của file
     */
    public static String getSize(long fsize)
    {
        String unit=" B";
        double len=fsize;
        if(len>1024)
        {
            len=len/1024;
            unit=" KB";
        }
        if(len>1024)
        {
            len=len/1024;
            unit=" MB";
        }
        if(len>1024)
        {
            len=len/1024;
            unit=" GB";
        }

        String size=String.valueOf(len);
        int lastDot=size.lastIndexOf(".");
        if(lastDot>=0)
        {
            if(lastDot+1<size.length())
                lastDot+=1;
            if(lastDot+1<size.length())
                lastDot+=1;
            lastDot+=1;
        }
        size=size.substring(0,lastDot);
        
        return size+unit;
    }
    
    /**
     * Hàm xóa thư mục
     */
    public static boolean deleteDir(File dir)
    {
        if (dir.isDirectory()) {
            String[] children = dir.list();
            for (int i=0; i<children.length; i++) {
                boolean success = deleteDir(new File(dir, children[i]));
                if (!success) {
                    return false;
                }
            }
        }
        // The directory is now empty so delete it
        return dir.delete();
    }
    
    /**
     * Trả về dung lượng của folder
     */
    public static long sizeOfFolder(File path)
    {
        File[] arrFile=path.listFiles();
        long sum=0;
        if(arrFile!=null)
            for(File f:arrFile)
                sum+=f.length();
        
        return sum;
    }
    
    /**
     * Lấy ra icon của file
     */
    public static Icon getFileIcon(String fn)
    {
        Icon icon=null;
        try
        {
            File file = File.createTempFile(fn,fn.substring(fn.lastIndexOf(".")));
            file.deleteOnExit();

            // Get metadata and create an icon
             icon = FileSystemView.getFileSystemView().getSystemIcon(file);
        }catch(Exception e)
        {
            System.out.println(e.getMessage());
        }finally
        {
            return icon;
        }
    }
}
